Články

Navigačný panel

Putty a SSH kľúče

Návod ako rozbehať SSH kľúče v Putty pod Windows. Ako ich vytvoriť, nasadit na server, a použiť.



Putty

Najskôr potrebujeme nainštalovať samotné Putty, nie "portable" verziu. A to z dôvodu že klasický inštalátor nam dodá aj daľsie nástroje ktoré nám ulahčia život (napr. PuTTYgen).

Vygenerovanie SSH kľúčov

Na vygenerovanie SSH kľučov je potrebný nástroj "PuTTYgen". Ten spustíme, dole vyberieme aký typ šifry sa použije, štandartne sa používa RSA, aspoň 2048. Potom už len klikneme na "Generate". Z dôvodu nedôvery voči funkciám ktoré generujú pseudo-nahodne čísla, sa takéto funkcie nepoužívajú z bezpečnostných dôvodov. Ako náhrada sa používá pohyb myši. Každý kľúč sa dá aj zaheslovať, aby skopírovanie a následné zneužitie nebolo tak jednoduché(súkromná časť). Po vygenerovaní získame 2 súbory. Súkromný, ktorý ako názov hovorí, musí ostať súkromný a za žiadnych okolností sa k nemu nesmie nikto nikdy dostať. A druhý subor s koncovkou ".pub", ktory je ako názov hovorí verejná časť kľuča, ktorý zase naopak je bezpečné zverejnovať a bude potrebné ho umiestnovať na všetky servery kam sa budeme chcieť pomocou neho pripojiť. Obidva vygenerované kľúče si určite uložíme niekam na disk.
Takže vždy musíme ziskať verejný a sukromný kľúč. Zo súkromného kľúča viem vždy verejný kedykoľvek vygenerovať, bude ale vždy iný. Rovnako ide aj z verejného vygenerovať súkromný kľúč, bude ale zase vždy iný.

Nahranie verejnej časti na SSH server

Aby sme sa mohli pomocou SSH kľúčov pripojiť na SSH server, musíme verejnú časť nahrať na SSH server. Funguje to vždy len pre uživateľa ktorému ten kľúč priradíme. Putty nemá nástroj na nahranie SSH kľúča na server, takže to musíme spraviť ručne. Pripojíme sa na SSH server klasickým spôsobom ešte pomocou hesla. Na serveri v domovskom adresári užívateľa, sa nachádza skrytá zložka ".ssh". Je potreba aby táto zložka nebola dostupná žiadnemu inému užívateľovi. To iste platí aj pre samotný domovský adresár. Po pripojení menom+heslom na SSH server, toto môžme skontrolovať následne:

stat --format=%A ~
stat --format=%A ~/.ssh

Pokiaľ neviete čo ten výstup znamená alebo to nesedí, zpustite nasledujúce príkazy, je bezpečné ich spustiť aj viac krát:

chmod g-w ~
chmod o-w ~
mkdir -p ~/.ssh
chmod 700 ~/.ssh

Ked už teda máme prostredie nachystané, môžme nahrať samotný kľúč. Najskôr si pre predstavu zobrazíme ako vypadá súbor momentálne pre porovnanie do budúcna alebo po pridaní:

cat ~/.ssh/authorized_keys

Na svojom PC kde máte Putty, otvorte v Poznámkovom Bloku verejný kľuč, to je ten čo má príponu ".pub". Skopírujte ho. Na serveri si ho uložíme do premennej "POM", príklad:

POM='ssh-rsa AAAAB3Nz...'

Skontrolujeme či obsah premennej je rovnaký ako obsah súboru v Poznámkovom Bloku.

echo $POM

Pokiaľ je obsah rovnaký tak ho vložíme do súboru:

echo $POM >> ~/.ssh/authorized_keys

Skontrolujeme súbor a porovnáme obsah s pred vložením:

cat ~/.ssh/authorized_keys

Pokiaľ tam svoj kľúč vidíte, tak sme ho tam úspešne pridali a malo by to už teraz fungovať.

Použitie súkromnej časti

Teraz už len musíme povedať svojmu SSH klientovi (Putty) aby ho začal používať. Sú 2 spôsoby.
Prvý spôsob je pre každý profil alebo pripojenie. To znamená že v ľavom paneli "Category" v Putty, sa preklikáme do "Connection" -> "SSH" -> "Auth". Tam nájdeme nastavenie ktoré sa nazýva "Private key file for authentication". V niektorých verziách Putty sa toto nastavenie nachádza až pod položkou "Credentials". Tam vyberieme súkromný kľúč a prejdeme v ľavo naspäť do "Session" kde si toto nastavenie vieme uložiť do nejakého profilu v Putty alebo sa rovno skúsiť pripojiť. Pokiaľ to bude pýtat heslo, tak to bude práve heslo k tomu súkromnému kľúči, heslo budeme musieť zadávať vždy, čo je bezpečnejšie ale nepraktické.
Druhý spôsob je použiť nástroj ktorý sa nazýva Pageant. Ten spustíme a on začne bežať na pozadí. V Tray ikonách (na obrazovke vpravo dole u hodin) sa zobrazí jeho ikonka. Klikneme na nu a otvorí sa okno kde pridáme svoj súkromny kľuč. Ten tam ostane pridaný uz nastálo až kým Pageant nevypneme(nereštartujeme počítač/..) . Teraz už len stačí sa pripojiť cez Putty na server, a kľúč by sa ma automaticky použiť. Ak máme svoj súkromný kľuč pridaný na všetkých svojich serveroch, tak sa budeme môcť pripojiť na všetky SSH servery bez hesla vďaka tomuto jednému pridaniu do Pageant.

Nefunguje to..

Nepripájajte sa na užívateľa "root" cez Putty, nikdy. Na serveri existuje log kde sú záznamy o všetkých prihláseniach cez SSH na server, tam možno nájdeš odpoveď prečo ti to nejde. Zavisí od Linuxovej distribúcie kde ten log je. Napríklad "/var/log/auth" .


Príspevok pridaný dňa: 14.09.2023 od užívatela: Dodoslav.
Zanechat komentár:

Nick:

Správa: